Image processing on computers is currently very wide spread. While there are a number of different types of image processors currently available, two of them are commonly used. The first is a system, which is commonly used in the area of computer aided design, which employs a vector-based representation of images being processed. This is in contrast to a second type of image processing, which uses a bit mapped representation of images. The present system relates to the second form of image processing, in which the images being processed are represented as bit maps.
Rendering bit map images creates a number of difficulties. For instance, it is not uncommon for a user viewing a bit map image to wish to “zoom in” to view a portion of the image in more detail. There are currently systems available which allow a user to do this. One such system is employed in rendering satellite imagery. The user may obtain a satellite image of an entire country, for instance, and then select a portion of the country to zoom in on, and the satellite image zooms in on that portion of the country by rendering another image of that portion of the country in higher resolution.
The process by which this is done is often referred to as an image pyramid. In creating an image pyramid, the first image is divided into tiles. When the user selects a tile, to zoom into the selected tile, a higher resolution representation of that tile is retrieved from memory and displayed to the user as a second image. The second image is also divided into further tiles. Therefore, when the user wishes to zoom in further, and selects one of the tiles in the second image, then a third image, which is a higher resolution representation of the selected tile, is retrieved and displayed to the user.
In one current system, this is implemented by dividing each image into four quadrants, or tiles. When the user selects one of those tiles, a new image is displayed in which the selected tile is presented at full resolution. The new image is also divided into quadrants (four tiles) and higher resolution images of each of those tiles are stored as well. This can be continued for a number of different levels. Storing images in this way is referred to as using a quad tree to store a pyramid of images at different resolutions. In other words, the pyramid stores pre-tiled imagery of different resolutions of an image. As the user zooms in and out of the image, the image processing system is simply pulling the appropriate jpeg tiles from a server, on demand.
In current systems, using a quad tree to store a pyramid of images at different resolutions has been used to view (zoom in and out of) a single large image. Many current tools used to perform this type of image processing have a fixed size limit on the content that can be generated. In other words, the single large image can only have so many layers in the pyramid.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.